package modelo;

import java.util.ArrayList;
import java.util.Collections;

public class Jugador {
	private String nombre;
	private Integer dinero;
	private Integer riqueza;
	private Integer carreraLaboral;
	private Integer educacion;
	private Integer felicidad;
	private Boolean yaComio;
	private Integer horasTrabajadasUltimaSemana;
	private ArrayList<Articulo> listaArticulos;
	private Integer semanasRestantesRopaCasual;
	private Integer semanasRestantesRopaVestir;
	private Integer semanasRestantesRopaElegante;
	private Integer semanasRestantesAlimento;
	private Meta meta;
	private static Jugador instancia;
	private Empleo empleo;
	private ArrayList<Integer> listaEmpleosViejos; 
	private ArrayList<Integer> listaCursos;
	private int departamento; // chequear
	
	private Jugador(Integer metaRiqueza,Integer metaEducacion,Integer metaCarreraLaboral,Integer metaFelicidad){
		 meta=new Meta(metaRiqueza, metaEducacion, metaCarreraLaboral, metaFelicidad);
		 educacion=0;
		 riqueza=200;
		 felicidad=0;
		 carreraLaboral=0;
		 yaComio=false;
		 listaArticulos=new ArrayList<Articulo>();
		 semanasRestantesAlimento=0;
		 semanasRestantesRopaCasual=4;
		 semanasRestantesRopaElegante=0;
		 semanasRestantesRopaVestir=0;
	 }
	
	private Jugador(){
		 meta=new Meta();
		 nombre="";
		 educacion=0;
		 riqueza=200;
		 felicidad=0;
		 carreraLaboral=0;
		 yaComio=false;
		 listaArticulos=new ArrayList<Articulo>();
		 semanasRestantesAlimento=0;
		 semanasRestantesRopaCasual=4;
		 semanasRestantesRopaElegante=0;
		 semanasRestantesRopaVestir=0;
		 departamento = 1;
		 dinero=200;
	}	
	
	public Meta getMeta() {
		return meta;
	}
	
	public void setMeta(Meta meta) {
		this.meta = meta;
	}
	
	public Integer getRiqueza() {
		return riqueza;
	}
	
	public void setRiqueza(Integer riqueza) {
		this.riqueza = riqueza;
	}
	
	public Integer getCarreraLaboral() {
		return carreraLaboral;
	}
	
	public void setCarreraLaboral(Integer carreraLaboral) {
		this.carreraLaboral = carreraLaboral;
	}
	
	public Integer getEducacion() {
		return educacion;
	}
	
	public void setEducacion(Integer educacion) {
		this.educacion = educacion;
	}
	
	public Integer getFelicidad() {
		return felicidad;
	}
	
	public void setFelicidad(Integer felicidad) {
		this.felicidad = felicidad;
	}
	
	public Boolean getYaComio() {
		return yaComio;
	}
	
	public void setYaComio(Boolean yaComio) {
		this.yaComio = yaComio;
	}
	
	public Integer getHorasTrabajadasUltimaSemana() {
		return horasTrabajadasUltimaSemana;
	}

	public void setHorasTrabajadasUltimaSemana(Integer horasTrabajadasUltimaSemana) {
		this.horasTrabajadasUltimaSemana = horasTrabajadasUltimaSemana;
	}

	public ArrayList<Articulo> getListaArticulos() {
		return listaArticulos;
	}
	
	public void setListaArticulos(ArrayList<Articulo> listaArticulos) {
		this.listaArticulos = listaArticulos;
	}
	
	public Integer getSemanasRestantesRopaCasual() {
		return semanasRestantesRopaCasual;
	}
	
	public void setSemanasRestantesRopaCasual(Integer semanasRestantesRopaCasual) {
		this.semanasRestantesRopaCasual = semanasRestantesRopaCasual;
	}
	
	public Integer getSemanasRestantesRopaVesti() {
		return semanasRestantesRopaVestir;
	}
	
	public void setSemanasRestantesRopaVesti(Integer semanasRestantesRopaVesti) {
		this.semanasRestantesRopaVestir = semanasRestantesRopaVesti;
	}
	
	public Integer getSemanasRestantesRopaElegante() {
		return semanasRestantesRopaElegante;
	}
		
	public void setSemanasRestantesRopaElegante(Integer semanasRestantesRopaElegante) {
		this.semanasRestantesRopaElegante = semanasRestantesRopaElegante;
	}
	
	public Integer getSemanasRestantesAlimento() {
		return semanasRestantesAlimento;
	}
	
	public void setSemanasRestantesAlimento(Integer semanasRestantesAlimento) {
		this.semanasRestantesAlimento = semanasRestantesAlimento;
	}
	
	public Empleo getEmpleo() {
		return empleo;
	}
	
	public void setEmpleo(Empleo empleo) {
		this.empleo = empleo;
	}
	
	public int getDepartamento() {
		return departamento;
	}
	
	public void setDepartamento(int departamento) {
		this.departamento = departamento;
	}
	 
	public String getNombre() {
		return nombre;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public static Jugador getInstacia(){
		 if(instancia==null)
			 instancia = new Jugador();			
		 return instancia;
	}

	public Integer getDinero() {
		return dinero;
	}

	public void setDinero(Integer dinero) {
		this.dinero = dinero;
	}

	public ArrayList<Integer> getListaEmpleosViejos() {
		return listaEmpleosViejos;
	}

	public void setListaEmpleosViejos(ArrayList<Integer> listaEmpleosViejos) {
		this.listaEmpleosViejos = listaEmpleosViejos;
	}

	public ArrayList<Integer> getListaCursos() {
		return listaCursos;
	}

	public void setListaCursos(ArrayList<Integer> listaCursos) {
		Collections.sort(listaCursos);
		this.listaCursos = listaCursos;
	}	 
}
